Optional chaining
演算子 ?. : ネストしたプロパティの存在確認とアクセスを簡単に行う
存在しないプロパティへアクセスした場合でも例外ではなく,undefinedという値を返す
code:js
const obj = {
a: {
b: "objのaプロパティのbプロパティ"
}
};
// obj.a.b は存在するので、その評価結果を返す
console.log(obj?.a?.b); // => "objのaプロパティのbプロパティ"
// 存在しないプロパティのネストもundefinedを返す
// ドット記法の場合は例外が発生してしまう
console.log(obj?.notFound?.notFound); // => undefined
// undefinedやnullはnullishなので、undefinedを返す
console.log(undefined?.notFound?.notFound); // => undefined
console.log(null?.notFound?.notFound); // => undefined